define(["recommendationsSDK","jquery","recommendationsEvents","magentoStorefrontEvents","dataServicesBase"],function(sdk,$){"use strict" const pagePreconfiguredDeferred=$.Deferred() return{"Magento_ProductRecommendationsLayout/js/recsFetcher":function(){const requestEvent=new CustomEvent("request") const client=new RecommendationsClient() document.dispatchEvent(requestEvent) client.fetchPreconfigured().then(res=>{const units=res.data.results const filteredUnits=units.filter(unit=>unit.products.length) const responseEvent=new CustomEvent("response",{detail:filteredUnits,}) document.dispatchEvent(responseEvent) pagePreconfiguredDeferred.resolve(units)})},"fetchPagePreconfigured":function(){return pagePreconfiguredDeferred.promise()},"fetchUnit":async function(options){const unitDeferred=$.Deferred() const requestEvent=new CustomEvent("request") const client=new RecommendationsClient(options) document.dispatchEvent(requestEvent) const response=await client.fetchPreconfigured(options) const unit=response.data var responseEvent=new CustomEvent("response",{detail:[unit],}) document.dispatchEvent(responseEvent) unitDeferred.resolve(unit) return unitDeferred.promise()},}})